﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Manager_DanhGiaCSD : System.Web.UI.Page
{
    SecurityLib.Sec_AES _ps = new SecurityLib.Sec_AES();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            btn_close.Attributes.Add("onClick", "javascript:history.back(); return false;");//them su kien vao  button de quay ve trang truoc
            BindGrid();
            drlMucDo.DataSource = CatalogAccess.GetXepLoaiDanhGiaCoSoDoan();
            drlMucDo.DataTextField = "XepLoai";
            drlMucDo.DataValueField = "ID";
            drlMucDo.DataBind();
        }
    }
    private void BindGrid()
    {
        string madonvi = _ps.Decrypt(Request.QueryString["deprcode"].Replace(" ","+"),"gold",128);
        _dbDataContext _db = new _dbDataContext();
        var val = from p in _db.tblDanhGiaCSDs where p.MaDonVi==madonvi select new { 
            ID=p.ID,
            NamDanhGia=p.NamDanhGia,
            QuyetDinh=p.QuyetDinh.Trim(),
            MucDo=(p.MucDo==2?"Xuất sắc":p.MucDo==3?"Vững mạnh":p.MucDo==4?"Khá":p.MucDo==5?"Trung bình":"yếu"),
            NoiDung=p.NoiDung.Trim()
        };
        grid.DataSource = val.ToList();
        grid.DataBind();
    }
    protected void btnadd_Click(object sender, EventArgs e)
    {
        Response.Redirect(Request.RawUrl);
    }
    protected void btnsave_Click(object sender, EventArgs e)
    {
        try
        {
            int a = int.Parse(txtid.Value);
            CapNhatDanhGia();
        }
        catch { ThemDanhGia(); }
    }

    private void CapNhatDanhGia()
    {
        _dbDataContext _db = new _dbDataContext();
        if (txtnamdanhgia.Text== "")
        {
            lblmessage.Text = "Nhập năm đánh giá trước khi lưu."; lblmessage.ForeColor = System.Drawing.Color.Red;
            return;
        }
        if (drlMucDo.SelectedValue == "-1")
        {
            lblmessage.Text = "Chọn mức độ đánh giá trước khi lưu."; lblmessage.ForeColor = System.Drawing.Color.Red;
            return;
        }
        bool success = CatalogAccess.UpdateDanhGia(int.Parse(txtid.Value),int.Parse(txtnamdanhgia.Text), txtquyetdinh.Text, int.Parse(drlMucDo.SelectedValue), txtnoidung.Text);
        if (success)
        {
            lblmessage.Text = "Đã lưu thành công.";
            lblmessage.ForeColor = System.Drawing.Color.Black;
            BindGrid();
        }
        else
        {
            lblmessage.Text = "Không lưu được.";
            lblmessage.ForeColor = System.Drawing.Color.Red;
        }
    }

    private void ThemDanhGia()
    {
        _dbDataContext _db = new _dbDataContext();
        if (txtnamdanhgia.Text == "")
        {
            lblmessage.Text = "Nhập năm đánh giá trước khi lưu."; lblmessage.ForeColor = System.Drawing.Color.Red;
            return;
        }
        if (drlMucDo.SelectedValue == "-1")
        {
            lblmessage.Text = "Chọn mức độ đánh giá trước khi lưu."; lblmessage.ForeColor = System.Drawing.Color.Red;
            return;
        }
        SecurityLib.Sec_AES _ps = new SecurityLib.Sec_AES();
        string madonvi = _ps.Decrypt(Request.QueryString["deprcode"].Replace(" ", "+"),"gold",128);
        bool success = CatalogAccess.InsertDanhGia(int.Parse(txtnamdanhgia.Text), txtquyetdinh.Text, int.Parse(drlMucDo.SelectedValue), txtnoidung.Text, madonvi);
        if (success)
        {
            lblmessage.Text = "Đã thêm đánh giá.";
            lblmessage.ForeColor = System.Drawing.Color.Black;
            BindGrid();
        }
        else
        {
            lblmessage.Text = "Không thêm được đánh giá.";
            lblmessage.ForeColor = System.Drawing.Color.Red;
        }
    }
    protected void btndelete_Click(object sender, EventArgs e)
    {
        string id = "";
        CheckBox chk;
        foreach (GridViewRow dr in grid.Rows)
        {
            chk = (CheckBox)grid.Rows[dr.RowIndex].FindControl("deletenews");
            if (chk.Checked == true)
            {
                id = grid.DataKeys[dr.RowIndex].Value.ToString().Trim();
                CatalogAccess.DeleteDanhGia(int.Parse(id));
            }
        }
        BindGrid();
    }
    protected void btnedit_Click(object sender, EventArgs e)
    {
        string id = "";
        CheckBox ckhselect;
        foreach (GridViewRow dr in grid.Rows)
        {
            ckhselect = (CheckBox)dr.FindControl("deletenews");
            if (ckhselect.Checked == true)
            {
                id = grid.DataKeys[dr.RowIndex].Value.ToString().Trim();
            }
        }
        if (id != "")
        {
            _dbDataContext _db = new _dbDataContext();
            var val = _db.tblDanhGiaCSDs.Single(r=>r.ID==int.Parse(id));
            txtid.Value = id.ToString();
            txtnamdanhgia.Text = val.NamDanhGia.ToString();
            txtquyetdinh.Text = val.QuyetDinh.Trim();
            drlMucDo.SelectedValue = val.MucDo.ToString();
            txtnoidung.Text = val.NoiDung;
        }
    }
}